#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package}.demo.common;

import java.util.List;
import java.util.Map;

/**
 * baseService，封装一些通用的方法
 * @author liuxw
 * @version 1.0
 * @date 2018/5/25
 */
public interface IBaseService<T> {

    /**
     * 根据id获取实体
     * @param id
     * @return
     */
    default T getEntityById(Integer id){
        return null;
    }

    /**
     * 获取实体，根据参数
     * @param map
     * @return
     */
    default T getEntityByParam(Map map){
        return null;
    }

    /**
     * 保存记录
     * @param entity
     * @return
     */
    default Integer save(T entity){
        return null;
    }

    default void batchSave(List<T> list){

    }

    /**
     * 更新记录
     * @param entity
     * @return
     */
    default Integer update(T entity){
        return null;
    }

    /**
     * 删除数据
     * @param id
     * @return
     */
    default Integer deleteById(Integer id){
        return null;
    }

    /**
     * 分页查询的getList
     * @param map
     * @return
     */
    default List<T> getPageList(Map map){
        return null;
    }

    /**
     * 分页查询的getCount
     * @param map
     * @return
     */
    default Integer getPageListCount(Map map){
        return null;
    }

    /**
     * 根据参数，获取一个list集合
     * @param map
     * @return
     */
    default List<T> searchByParam(Map map){
        return null;
    }

}
